package com.qifenqian.turbot.module.contract

import com.qifenqian.turbot.module.entity.response.statistic.SoldDishEntity
import com.qifenqian.turbot.module.entity.response.statistic.StatisticsEntity
import com.qifenqian.turbot.net.ModelCallback

/**
 * @author H
 * @createTime 2018/12/27 17:00
 * @description
 * @see
 * @since
 */
interface StatisticsContract {

    interface Model {
        fun getBusinessStatistics(date: String, type: Int, callback: ModelCallback<StatisticsEntity>)

        fun getDishStatistics(date: String, type: Int, callback: ModelCallback<List<SoldDishEntity>>)

    }

    interface View {
        fun getBusinessStatisticsResult(isSuccess: Boolean, code: Int = 0, msg: String? = null, statisticsEntity: StatisticsEntity? = null) {}

        fun getDishStatisticsResult(isSuccess: Boolean, code: Int = 0, msg: String? = null, soldDishEntities: List<SoldDishEntity>? = null) {}
    }

    interface Presenter {
        fun getBusinessStatistics(date: String, type: Int)

        fun getDishStatistics(date: String, type: Int)
    }
}
